#ifndef HS_DATATYPE_H
#define HS_DATATYPE_H

/***
version: V1.1.2.3
note: HSDataType.h版本号与API动态库版本号无关
***/

#ifdef _WIN32

typedef char				int8;
typedef short				int16;
typedef int					int32;
typedef __int64				int64;
typedef unsigned char		uint8;
typedef unsigned short		uint16;
typedef unsigned int		uint32;
typedef unsigned __int64	uint64;

#else

#include <sys/types.h>

#if defined(__linux__)
#include <stdint.h>
#endif

typedef int8_t				int8;
typedef int16_t				int16;
typedef int32_t				int32;
typedef int64_t				int64;
typedef uint8_t				uint8;
typedef uint16_t			uint16;
typedef uint32_t			uint32;
typedef uint64_t			uint64;

#endif

//////////////////////////////////////////////////////////////////////////
/// HSInstrumentID：合约编码
//////////////////////////////////////////////////////////////////////////
typedef char HSInstrumentID[32];

//////////////////////////////////////////////////////////////////////////
/// HSOptionsType：期权类型
//////////////////////////////////////////////////////////////////////////
/// 看涨（认购）
#define HS_OT_CallOptions  'C'
/// 看跌（认沽）
#define HS_OT_PutOptions   'P'
typedef char HSOptionsType;

//////////////////////////////////////////////////////////////////////////
/// HSExerciseStyle：期权行权方式
//////////////////////////////////////////////////////////////////////////
/// 美式期权 
#define HS_American_Options  'A'
/// 欧式期权
#define HS_European_Options   'E'
typedef char HSExerciseStyle;

//////////////////////////////////////////////////////////////////////////
/// HSExchangeID：交易所代码
//////////////////////////////////////////////////////////////////////////
/// 上海证券交易所
#define HS_EI_SSE                   "1"
/// 深圳证券交易所
#define HS_EI_SZSE                  "2"
/// 郑州商品交易所
#define HS_EI_CZCE                  "F1"
/// 大连商品交易所
#define HS_EI_DCE                   "F2"
/// 上海期货交易所
#define HS_EI_SHFE                  "F3"
/// 中国金融期货交易所
#define HS_EI_CFFEX                 "F4"
/// 上海国际能源交易中心股份有限公司
#define HS_EI_INE                   "F5"
typedef char HSExchangeID[5];

//////////////////////////////////////////////////////////////////////////
/// HSInstrumentName：合约名字
////////////////////////////////////////////////////////////////////////// 
typedef char HSInstrumentName[32];

//////////////////////////////////////////////////////////////////////////
/// HSVolume：数量(double)
////////////////////////////////////////////////////////////////////////// 
typedef double HSVolume;

//////////////////////////////////////////////////////////////////////////
/// HSIntVolume：数量(int64)
////////////////////////////////////////////////////////////////////////// 
typedef int64 HSIntVolume;

//////////////////////////////////////////////////////////////////////////
/// HSNum64：个数
////////////////////////////////////////////////////////////////////////// 
typedef int64 HSNum64;

//////////////////////////////////////////////////////////////////////////
/// HSArbitPositionID：套利持仓号
////////////////////////////////////////////////////////////////////////// 
typedef char HSArbitPositionID[32];

//////////////////////////////////////////////////////////////////////////
/// HSLegID：腿号
////////////////////////////////////////////////////////////////////////// 
typedef double HSLegID;

//////////////////////////////////////////////////////////////////////////
/// HSConfigNo：配置编号
////////////////////////////////////////////////////////////////////////// 
typedef double HSConfigNo;

//////////////////////////////////////////////////////////////////////////
/// HSConfigValue：配置开关状态
/// 根据不同的配置编号，有不同的字典项
////////////////////////////////////////////////////////////////////////// 
typedef char HSConfigValue[128];

//////////////////////////////////////////////////////////////////////////
/// HSExerciseType：期权行权类型
//////////////////////////////////////////////////////////////////////////
/// 放弃
#define HS_ET_Abandon '0'
/// 执行
#define HS_ET_Exec    '1'
typedef char HSExerciseType;

//////////////////////////////////////////////////////////////////////////
/// HSPrice：价格
////////////////////////////////////////////////////////////////////////// 
typedef double HSPrice;

//////////////////////////////////////////////////////////////////////////
/// HSBalance：金额
////////////////////////////////////////////////////////////////////////// 
typedef double HSBalance;

//////////////////////////////////////////////////////////////////////////
/// HSSeqNo：序号
////////////////////////////////////////////////////////////////////////// 
typedef int64 HSSeqNo;

//////////////////////////////////////////////////////////////////////////
/// HSDate：日期 格式YYYYMMDD
////////////////////////////////////////////////////////////////////////// 
typedef int32 HSDate;

//////////////////////////////////////////////////////////////////////////
/// HSMsgContent：消息正文
//////////////////////////////////////////////////////////////////////////
typedef char HSMsgContent[256];

//////////////////////////////////////////////////////////////////////////
/// HSCombStrategyID：组合策略编码
//////////////////////////////////////////////////////////////////////////
/// 认购牛市价差
#define HS_CSI_CNSJC  "CNSJC"
/// 认沽熊市价差
#define HS_CSI_PXSJC  "PXSJC"
/// 认沽牛市价差
#define HS_CSI_PNSJC  "PNSJC"
/// 认购熊市价差
#define HS_CSI_CXSJC  "CXSJC"
/// 跨式空头
#define HS_CSI_KS     "KS"
/// 宽跨式空头
#define HS_CSI_KKS    "KKS"
/// 普通转备兑
#define HS_CSI_ZBD    "ZBD"
/// 备兑转普通
#define HS_CSI_ZXJ    "ZXJ"
typedef char HSCombStrategyID[9];

/////////////////////////////////////////////////////////////////////////
/// HSRemarks：备注
/////////////////////////////////////////////////////////////////////////
typedef char HSRemarks[256];

/////////////////////////////////////////////////////////////////////////
/// HSDirection：买卖方向类型
/////////////////////////////////////////////////////////////////////////
/// 买
#define HS_DC_Buy     '1'
/// 卖
#define HS_DC_Sell    '2'
/// 出借
#define HS_DC_Loan    'F'
/// 借入
#define HS_DC_Borrow  'G'
typedef char HSDirection;

/////////////////////////////////////////////////////////////////////////
/// HSOrderDirection：报单方向类型
/////////////////////////////////////////////////////////////////////////
/// 买
#define HS_OD_Buy            1
/// 卖					    
#define HS_OD_Sell           2
/// 新股申购(包括增发、新债申购)			    
#define HS_OD_Apply          3
/// 配股				      
#define HS_OD_MarthSecu      4
///债券转股
#define HS_OD_BondConv		 5
///债券回售
#define HS_OD_BondCall		 6
/// 质押入库		        
#define HS_OD_PledgeIn       7
/// 质押出库		        
#define HS_OD_PledgeOut      8
/// 正回购				     
#define HS_OD_Repos          9
/// 逆回购				     
#define HS_OD_ReverseRepos   10
/// ETF认购				     
#define HS_OD_EtfSubs        11
/// ETF申购			  	    
#define HS_OD_EtfPur         12
/// ETF赎回			  	    
#define HS_OD_EtfRed         13
/// 债券回售撤销
#define HS_OD_BondCallCan	 14
/// LOF认购			  	    
#define HS_OD_LofSubs        16
/// LOF申购			  	    
#define HS_OD_LofPur         17
/// LOF赎回			  	    
#define HS_OD_LofRed         18
/// LOF转托管			  	    
#define HS_OD_LofTrams       19
/// 分级基金拆分		      
#define HS_OD_FundSplit      20
/// 分级基金合并		      
#define HS_OD_FundMerger     21
/// 分级基金转换		      
#define HS_OD_FundConv       22
/// 货币基金申购
#define HS_OD_CurrFundPur    23
/// 货币基金赎回
#define HS_OD_CurrFundRed    24
/// 担保品买入		   	    
#define HS_OD_CreditBuy      33
/// 担保品卖出		   	    
#define HS_OD_CreditSell     34
/// 担保品提交			    
#define HS_OD_CollateralIn   35
/// 担保品返回			    
#define HS_OD_CollateralOut  36
/// 融资买入		        
#define HS_OD_MarginBuy      37
/// 融券卖出		        
#define HS_OD_ShortSell      38
/// 卖券还款		        
#define HS_OD_SellRepay      39
/// 买券还券		        
#define HS_OD_BuyRepay       40
/// 现券还券		        
#define HS_OD_HoldRepay      41
typedef int32 HSOrderDirection;

/////////////////////////////////////////////////////////////////////////
/// HSOffsetFlag：开平标志类型
/////////////////////////////////////////////////////////////////////////
/// 开仓
#define HS_OF_Open       '1'
/// 平仓
#define HS_OF_Close      '2'
/// 交割
#define HS_OF_Delivery   '3'
/// 平今仓
#define HS_OF_CloseToday '4'
/// 组合单边平仓
#define HS_OF_CloseSingle '6'
typedef char HSOffsetFlag;

/////////////////////////////////////////////////////////////////////////
/// HSCombDirection：组合指令方向类型
/////////////////////////////////////////////////////////////////////////
/// 组合
#define HS_CD_Comb            '1'
/// 拆分
#define HS_CD_UnComb          '2'
typedef char HSCombDirection;

//////////////////////////////////////////////////////////////////////////
/// HSRef：引用
//////////////////////////////////////////////////////////////////////////
typedef char HSRef[33];

//////////////////////////////////////////////////////////////////////////
/// HSTime：时间 格式HHMMSSFFF
//////////////////////////////////////////////////////////////////////////
typedef int32 HSTime;

//////////////////////////////////////////////////////////////////////////
/// HSDurationTime：总耗时
//////////////////////////////////////////////////////////////////////////
typedef int32 HSDurationTime;

/////////////////////////////////////////////////////////////////////////
/// HSPositionType：持仓类型类型
/// 权利方
#define HS_PT_Right                 '0'
/// 义务方
#define HS_PT_Voluntary             '1'
/// 备兑方
#define HS_PT_Covered               '2'
typedef char HSPositionType;

/////////////////////////////////////////////////////////////////////////
/// HSLockType：锁定方向类型
/////////////////////////////////////////////////////////////////////////
/// 锁定
#define HS_LT_Lock           '1'
/// 解锁
#define HS_LT_Unlock         '2'
typedef char HSLockType;

/////////////////////////////////////////////////////////////////////////
/// HSOrderStatus：报单状态类型
/////////////////////////////////////////////////////////////////////////
/// 未报
#define HS_OS_NotReported                   '0'
/// 待报
#define HS_OS_ToBeReported                  '1'
/// 已报
#define HS_OS_Reported                      '2'
/// 已报待撤
#define HS_OS_ReportedToBeCancel            '3'
/// 部成待撤
#define HS_OS_PartsTradedToBeCancel         '4'
/// 部撤
#define HS_OS_CanceledWithPartsTraded       '5'
/// 已撤
#define HS_OS_Canceled                      '6'
/// 部成
#define HS_OS_PartsTraded                   '7'
/// 已成
#define HS_OS_Traded                        '8'
/// 废单
#define HS_OS_Abandoned                     '9'
/// 撤废
#define HS_OS_CancelFailed                  'D'
///已确认待撤
#define HS_OS_ConfirmedToBeCancel			'U'
/// 已确认
#define HS_OS_Confirmed                     'V'
/// 待确认
#define HS_OS_ToBeConfirmed                 'W'
typedef char HSOrderStatus;

//////////////////////////////////////////////////////////////////////////
/// HSErrorID：错误编码
//////////////////////////////////////////////////////////////////////////
typedef int32 HSErrorID;

//////////////////////////////////////////////////////////////////////////
/// HSErrorMsg：错误信息
//////////////////////////////////////////////////////////////////////////
typedef char HSErrorMsg[256];

/////////////////////////////////////////////////////////////////////////
/// HSOrderSource：报单发起方类型
/////////////////////////////////////////////////////////////////////////
/// 个人投资者发起
#define HS_OSRC_Personal                '0'
/// 交易所发起
#define HS_OSRC_Exchange                '1'
/// 会员发起
#define HS_OSRC_Member                  '2'
/// 机构投资者发起
#define HS_OSRC_Organization            '3'
/// 自营交易发起
#define HS_OSRC_Proprietary             '4'
/// 流动性服务提供商发起
#define HS_OSRC_MobileServiceProvider   '5'
typedef char HSOrderSource;

//////////////////////////////////////////////////////////////////////////
/// HSTradeID：成交编码
//////////////////////////////////////////////////////////////////////////
typedef char HSTradeID[32];

//////////////////////////////////////////////////////////////////////////
/// HSRiskDegree：风险度
//////////////////////////////////////////////////////////////////////////
typedef double HSRiskDegree;

//////////////////////////////////////////////////////////////////////////
/// HSBankID：银行编码
//////////////////////////////////////////////////////////////////////////
typedef char HSBankID[8];

//////////////////////////////////////////////////////////////////////////
/// HSTransferType：转账类型
//////////////////////////////////////////////////////////////////////////
/// 银行转经纪公司
#define HS_TT_BankToBroker '1'
/// 经纪公司转银行
#define HS_TT_BrokerToBank '2'
typedef char HSTransferType;

//////////////////////////////////////////////////////////////////////////
/// HSBankName：银行名字 
//////////////////////////////////////////////////////////////////////////
typedef char HSBankName[64];

//////////////////////////////////////////////////////////////////////////
/// HSTransferSource：转账发起方    
//////////////////////////////////////////////////////////////////////////
/// 经纪公司
#define HS_TSRC_Broker   '0'
/// 银行
#define HS_TSRC_Bank     '1'
/// 互相
#define HS_TSRC_Each     '2'
/// 第三方
#define HS_TSRC_Third    '3'
typedef char HSTransferSource;

//////////////////////////////////////////////////////////////////////////
/// HSTransferStatus：转账状态    
//////////////////////////////////////////////////////////////////////////    
/// 未报
#define HS_TS_NotReported         '0'
/// 已报
#define HS_TS_Reported            '1'
/// 成功
#define HS_TS_Success             '2'
/// 作废
#define HS_TS_Abandoned           '3'
/// 待撤
#define HS_TS_ReportedToBeCancel  '4'
/// 撤销
#define HS_TS_Canceled            '5'
/// 待冲正
#define HS_TS_PendingReversal     '7'
///已冲正
#define HS_TS_Reversal            '8'
/// 待报
#define HS_TS_ToBeReported        'A'
/// 正报
#define HS_TS_Reporting           'P'
/// 已确认
#define HS_TS_Confirmed           'Q'
/// 待确定
#define HS_TS_PendingConfirm      'x'
typedef char HSTransferStatus;

//////////////////////////////////////////////////////////////////////////
/// HSBankAccountID：银行账号编码
//////////////////////////////////////////////////////////////////////////
typedef char HSBankAccountID[32];

//////////////////////////////////////////////////////////////////////////
/// HSAccountID：账号 
//////////////////////////////////////////////////////////////////////////
typedef char HSAccountID[19];

//////////////////////////////////////////////////////////////////////////
/// HSUserID：客户编号
//////////////////////////////////////////////////////////////////////////
typedef char HSUserID[32];

//////////////////////////////////////////////////////////////////////////
/// HSBillContent：账单内容 
//////////////////////////////////////////////////////////////////////////
typedef char HSBillContent[256];


//////////////////////////////////////////////////////////////////////////
/// HSHedgeType：投机(交易)/套保/备兑类型
//////////////////////////////////////////////////////////////////////////
/// 投机(交易)
#define HS_HT_Speculation       '0'
/// 套保
#define HS_HT_Hedge             '1'
/// 套利
#define HS_HT_Arbitrage         '2'
/// 做市商
#define HS_HT_MarketMaker       '3'
/// 备兑
#define HS_HT_Covered           '4'
typedef char HSHedgeType;

//////////////////////////////////////////////////////////////////////////
/// HSRate：费率
//////////////////////////////////////////////////////////////////////////
typedef double HSRate;

//////////////////////////////////////////////////////////////////////////
/// HSSessionID：会话编码
//////////////////////////////////////////////////////////////////////////
typedef int32 HSSessionID;

//////////////////////////////////////////////////////////////////////////
/// HSUserStationInfo：用户站点信息
//////////////////////////////////////////////////////////////////////////
typedef char HSUserStationInfo[256];

//////////////////////////////////////////////////////////////////////////
/// HSOrderSysID：报单编号
//////////////////////////////////////////////////////////////////////////
typedef char HSOrderSysID[32];

//////////////////////////////////////////////////////////////////////////
/// HSCombPositionID：组合持仓编码
//////////////////////////////////////////////////////////////////////////
typedef char HSCombPositionID[32];

//////////////////////////////////////////////////////////////////////////
/// HSPassword：密码
//////////////////////////////////////////////////////////////////////////
typedef char HSPassword[16];

//////////////////////////////////////////////////////////////////////////
/// HSMacAddress：Mac地址
//////////////////////////////////////////////////////////////////////////
typedef char HSMacAddress[32];

//////////////////////////////////////////////////////////////////////////
/// HSIPAddress：IP地址
//////////////////////////////////////////////////////////////////////////
typedef char HSIPAddress[64];

//////////////////////////////////////////////////////////////////////////
/// HSBillConfirmFlag：是否需要确认帐单的标志
//////////////////////////////////////////////////////////////////////////
/// 不需要确认
#define HS_BCF_NO  '0'
/// 需要确认
#define HS_BCF_YES '1'
typedef char HSBillConfirmFlag;

//////////////////////////////////////////////////////////////////////////
/// HSBillConfirmStatus：账单确认状态
//////////////////////////////////////////////////////////////////////////
/// 未确认
#define HS_BCFD_NO  '0'
/// 已确认
#define HS_BCFD_YES '1'
typedef char HSBillConfirmStatus;

//////////////////////////////////////////////////////////////////////////
/// HSDelta：虚实度
//////////////////////////////////////////////////////////////////////////
typedef double HSDelta;

//////////////////////////////////////////////////////////////////////////
/// HSInstrumentTradeStatus：合约交易状态
//////////////////////////////////////////////////////////////////////////
/// 启动(开始前)
#define HS_IT_Init               'S'
/// 集合竞价
#define HS_IT_CallAuction        'C'
/// 连续交易
#define HS_IT_Trinding           'T'
/// 休市
#define HS_IT_Pause              'B'
/// 闭市
#define HS_IT_Close              'E'
/// 收盘集合竞价
#define HS_IT_ClosingCallAuction 'U'
/// 波动性中断
#define HS_IT_Fusing             'V'
/// 临时停牌
#define HS_IT_Halt               'P'
/// 全天停牌
#define HS_IT_HaltAllDay         '1'
/// 熔断(盘中集合竞价)
#define HS_IT_FuseToCallAuction  'M'
/// 熔断(暂停交易至闭市)
#define HS_IT_FuseToClose        'N'
/// 盘后交易
#define HS_IT_AfterCloseTrade    'A'
typedef char HSInstrumentTradeStatus;

//////////////////////////////////////////////////////////////////////////
/// HSOpenRestriction：合约实时开仓限制
//////////////////////////////////////////////////////////////////////////
/// 不限制开仓
#define HS_OR_NoLimitOpen                '0'
/// 限制备兑开仓
#define HS_OR_LimitCoveredOpen           '1'
/// 限制卖出开仓
#define HS_OR_LimitSellOpen              '2'
/// 限制卖出开仓、备兑开仓
#define HS_OR_LimitSellAndCovOpen        '3'
/// 限制买入开仓
#define HS_OR_LimitBidOpen               '4'
/// 限制买入开仓、备兑开仓
#define HS_OR_LimitBidAndCovOpen         '5'
/// 限制买入开仓、卖出开仓
#define HS_OR_LimitBidAndSellOpen        '6'
/// 限制买入开仓、备兑开仓、卖出开仓
#define HS_OR_LimitBidAndSellAndCovOpen  '7'
typedef char HSOpenRestriction[64];

//////////////////////////////////////////////////////////////////////////
/// HSProductID：合约品种类别
//////////////////////////////////////////////////////////////////////////
typedef char HSProductID[4];

//////////////////////////////////////////////////////////////////////////
/// HSMaxMarginSideAlgorithm：大额单边保证金算法类型
//////////////////////////////////////////////////////////////////////////
/// 不使用大额单边保证金算法
#define HS_MMSA_NO  '0'
/// 使用大额单边保证金算法
#define HS_MMSA_YES '1'
typedef char HSMaxMarginSideAlgorithm;

//////////////////////////////////////////////////////////////////////////
/// HSUserName：客户姓名
//////////////////////////////////////////////////////////////////////////
typedef char HSUserName[32];

//////////////////////////////////////////////////////////////////////////
/// HSForceCloseReason：强平原因
//////////////////////////////////////////////////////////////////////////
/// 非强平
#define HS_FCR_NotForceClose '0'
/// 资金不足
#define HS_FCR_LackDeposit '1'
/// 客户超仓
#define HS_FCR_ClientOverPositionLimit '2'
///会员超仓
#define HS_FCR_MemberOverPositionLimit '3'
/// 持仓非整数倍
#define HS_FCR_NotMultiple '4'
/// 违规
#define HS_FCR_Violation '5'
/// 其它
#define HS_FCR_Other '6'
typedef char HSForceCloseReason;

//////////////////////////////////////////////////////////////////////////
/// HSTradingFlag：申报标志
//////////////////////////////////////////////////////////////////////////
/// 禁止申报
#define HS_TF_No  '0'
/// 可以申报
#define HS_TF_Yes '1'
typedef char HSTradingFlag;

//////////////////////////////////////////////////////////////////////////
/// HSSwapOrderFlag：互换标志
//////////////////////////////////////////////////////////////////////////
///非互换
#define HS_SOF_Normal            '0'
/// 互换
#define HS_SOF_Swap              '1'
typedef char HSSwapOrderFlag;

//////////////////////////////////////////////////////////////////////////
/// HSPasswordType：密码类型
//////////////////////////////////////////////////////////////////////////
/// 资金密码
#define HS_PWDT_Fund             '1'
/// 交易密码
#define HS_PWDT_Trade            '2'
typedef char HSPasswordType;

//////////////////////////////////////////////////////////////////////////
/// HSOrderCommand：报单指令
//////////////////////////////////////////////////////////////////////////
/// 限价 
#define HS_CT_Limit                                 1
/// 限价即时全部成交否则撤销 
#define HS_CT_LimitFOK                              2
/// 限价任意数量即时成交剩余撤销 
#define HS_CT_LimitFAK                              3
/// 限价止损 
#define HS_CT_LimitStopLoss                         4
/// 限价止盈 
#define HS_CT_LimitStopProfit                       5
/// 市价 
#define HS_CT_Market                                6
/// 市价即时全部成交否则撤销 
#define HS_CT_MarketFOK                             7
/// 市价任意数量即时成交剩余撤销 
#define HS_CT_MarketFAK                             8
/// 市价指定成交数量即时成交剩余撤销 
#define HS_CT_MarketFAKV                            9
/// 市价止损 
#define HS_CT_MarketStopLoss                        10
/// 市价止盈 
#define HS_CT_MarketStopProfit                      11
/// 市价即时成交剩余转限价 
#define HS_CT_MarketToLimit                         12
/// 五档市价即时成交剩余撤销 
#define HS_CT_Market5FAK                            13
/// 五档市价即时成交剩余转限价 
#define HS_CT_Market5ToLimit                        14
/// 最优价即时成交剩余转限价 
#define HS_CT_Market1ToLimit                        15
/// 最优价即时成交剩余撤销 
#define HS_CT_Market1FAK                            16
/// 最优价即时全部成交否则撤销 
#define HS_CT_Market1FOK                            17
/// 本方最优价转限价
#define HS_CT_MarketSelfToLimit                     18
/// 对手方最优价申报
#define HS_CT_CounterPartyBest		                19
/// 限价指定数量即时成交剩余撤销
#define HS_CT_LimitFAKV                             20
/// 盘后固定价格
#define HS_CT_LimitPFP                              21
typedef int32 HSOrderCommand;

//////////////////////////////////////////////////////////////////////////
/// HSNum：数字 
//////////////////////////////////////////////////////////////////////////
typedef int32 HSNum;

//////////////////////////////////////////////////////////////////////////
/// HSBrokerOrderID：经纪公司报单编码 
//////////////////////////////////////////////////////////////////////////
typedef char HSBrokerOrderID[32];

//////////////////////////////////////////////////////////////////////////
/// HSBusinessName：业务名称
//////////////////////////////////////////////////////////////////////////
typedef char HSBusinessName[64];

//////////////////////////////////////////////////////////////////////////
/// HSUserApplicationType：投资者端应用类别
//////////////////////////////////////////////////////////////////////////
typedef char HSUserApplicationType;

//////////////////////////////////////////////////////////////////////////
/// HSUserApplicationInfo：投资者端应用信息
//////////////////////////////////////////////////////////////////////////
typedef char HSUserApplicationInfo[32];

//////////////////////////////////////////////////////////////////////////
/// HSSecurityType:市场业务类别,目前只支持两大类现货业务与期权业务
//////////////////////////////////////////////////////////////////////////
///未知类型
#define  HS_SET_UnKnown      '0'
///股票
#define  HS_SET_Stock        '1'
///指数
#define  HS_SET_Index        '2'
///基金
#define  HS_SET_Fund         '3'
///债券
#define  HS_SET_Bond         '4'
///个股期权
#define  HS_SET_Option       '5'
///ETF期权
#define  HS_SET_ETFOption    '6'
typedef char HSSecurityType;

//////////////////////////////////////////////////////////////////////////
/// HSOrdType:委托类型
//////////////////////////////////////////////////////////////////////////
/// 市价 
#define HS_ORT_Market         '1'
/// 限价 
#define HS_ORT_Limit          '2'
/// 本方最优
#define HS_ORT_MarketSelf     'U'
typedef char HSOrdType;

//////////////////////////////////////////////////////////////////////////
/// HSTrdType:成交类型
//////////////////////////////////////////////////////////////////////////
/// 卖 
#define HS_TRD_Inside      'S'
/// 买 
#define HS_TRD_Outside     'B'
/// 未知
#define HS_TRD_UnKnown     'N'
/// 撤单
#define HS_TRD_Cancel      '4'
/// 普通成交
#define HS_TRD_Execute     'F'
typedef char HSTrdType;

//////////////////////////////////////////////////////////////////////////
/// HSTransType:逐笔行情类型
//////////////////////////////////////////////////////////////////////////
/// 逐笔成交和逐笔委托
#define HS_TRANS_All      '0'
/// 逐笔成交
#define HS_TRANS_Trade    '1'
/// 逐笔委托
#define HS_TRANS_Entrust  '2'
typedef char HSTransType;

//////////////////////////////////////////////////////////////////////////
/// HSInstrumentEngName：合约英文名称
//////////////////////////////////////////////////////////////////////////
typedef char HSInstrumentEngName[32];

//////////////////////////////////////////////////////////////////////////
/// HSProductType：产品类型
//////////////////////////////////////////////////////////////////////////
/// 期货
#define HS_PTYPE_Futures             '1'
/// 期货期权
#define HS_PTYPE_OptFutu             '2'
/// 组合
#define HS_PTYPE_Combination         '3'
/// 即期
#define HS_PTYPE_Spot                '4'
/// 期转现
#define HS_PTYPE_FutuToSpot          '5'
/// 证券
#define HS_PTYPE_Securities          '6'
/// 股票期权
#define HS_PTYPE_OptStock            '7'
typedef char HSProductType;

//////////////////////////////////////////////////////////////////////////
/// HSCurrencyID：币种
//////////////////////////////////////////////////////////////////////////
/// 人民币
#define HS_CID_CNY                   '0'
/// 美元
#define HS_CID_USD                   '1'
/// 港币
#define HS_CID_HKD                   '2'
typedef char HSCurrencyID;

//////////////////////////////////////////////////////////////////////////
/// HSCloseFlag：期权行权后生成的头寸是否自动平仓标志
//////////////////////////////////////////////////////////////////////////
/// 不自动平仓
#define HS_CF_NO                    '0'
/// 自动平仓
#define HS_CF_YES                   '1'
typedef char HSCloseFlag;

//////////////////////////////////////////////////////////////////////////
/// HSCombType：组合类型
//////////////////////////////////////////////////////////////////////////
/// 普通
#define HS_COMBT_PT                 '0'
/// 跨期
#define HS_COMBT_KQ                 '1'
/// 跨品种
#define HS_COMBT_KPZ                '2'
typedef char HSCombType;

//////////////////////////////////////////////////////////////////////////
/// HSRiskLevel：风险等级
//////////////////////////////////////////////////////////////////////////
/// 默认型
#define HS_RL_Default               '0'
/// 保守型
#define HS_RL_Keep                  '1'
/// 谨慎型
#define HS_RL_Cautions              '2'
/// 稳健型
#define HS_RL_Steady                '3'
/// 积极型
#define HS_RL_Active                '4'
/// 成长型
#define HS_RL_Growth                '6'
/// 专业投资者
#define HS_RL_Profession            '99'
/// 自定义风险等级
#define HS_RL_Diy                   '100'
typedef char HSRiskLevel[4];

//////////////////////////////////////////////////////////////////////////
/// HSAppIDType：客户端ID类型
//////////////////////////////////////////////////////////////////////////
///直连的投资者
#define HS_AT_Investor					 '1'
///所有投资者共享一个操作员连接的中继
#define HS_AT_OperatorRelay				 '2'
///为每个投资者都创建连接的中继
#define HS_AT_InvestorRelay              '3'
///未知
#define HS_AT_UnKnown				     '0'
typedef char HSAppIDType;

//////////////////////////////////////////////////////////////////////////
/// HSAppID：客户端ID
//////////////////////////////////////////////////////////////////////////
typedef char HSAppID[32];

//////////////////////////////////////////////////////////////////////////
/// HSAuthCode：认证码
//////////////////////////////////////////////////////////////////////////
typedef char HSAuthCode[128];


//////////////////////////////////////////////////////////////////////////
/// HSAppSysInfo：客户端系统信息
//////////////////////////////////////////////////////////////////////////
typedef char HSAppSysInfo[2000];

//////////////////////////////////////////////////////////////////////////
/// HSAppSysInfoIntegrity：客户端系统信息采集完整度
//////////////////////////////////////////////////////////////////////////
typedef char HSAppSysInfoIntegrity[2000];

//////////////////////////////////////////////////////////////////////////
/// HSAppAbnormalType：客户端客户端系统信息采集异常标识类型
//////////////////////////////////////////////////////////////////////////
typedef char HSAppAbnormalType;

//////////////////////////////////////////////////////////////////////////
/// HSTradeType：成交类型
//////////////////////////////////////////////////////////////////////////
///普通成交、套利组合拆仓
#define HS_TT_Common                '0'
///期权执行
#define HS_TT_OptionsExecution      '1'
///OTC成交
#define HS_TT_OTC                   '2'
///期转现衍生成交
#define HS_TT_EFPDerived            '3'
///组合衍生成交
#define HS_TT_CombinationDerived    '4'
typedef char HSTradeType;

//////////////////////////////////////////////////////////////////////////
/// HSTransDirection：调拨方向
//////////////////////////////////////////////////////////////////////////
/// 调入接入的中心
#define HS_TD_In                    '0'
/// 从接入中心调出
#define HS_TD_Out                   '1'
typedef char HSTransDirection;

//////////////////////////////////////////////////////////////////////////
/// HSExchangeRate：汇率
//////////////////////////////////////////////////////////////////////////
typedef double HSExchangeRate;

//////////////////////////////////////////////////////////////////////////
/// HSOccasion：场景
//////////////////////////////////////////////////////////////////////////
typedef char HSOccasion[32];

//////////////////////////////////////////////////////////////////////////
/// 回报订阅模式
enum SUB_TERT_TYPE
{
	//////////////////////////////////////////////////////////////////////
	///从本交易日开始重传
	HS_TERT_RESTART = 0,
	///从上次收到的续传
	HS_TERT_RESUME,
	///从登录后最新的开始传
	HS_TERT_QUICK
};

//////////////////////////////////////////////////////////////////////////
/// HSStatus:状态
//////////////////////////////////////////////////////////////////////////
typedef char HSStatus;

//////////////////////////////////////////////////////////////////////////
/// HSType:类别
//////////////////////////////////////////////////////////////////////////
typedef char HSType;

//////////////////////////////////////////////////////////////////////////
/// HSFlag:标志
//////////////////////////////////////////////////////////////////////////
typedef char HSFlag;

//////////////////////////////////////////////////////////////////////////
/// HSRisk:风险
//////////////////////////////////////////////////////////////////////////
typedef double HSRisk;               

//////////////////////////////////////////////////////////////////////////
/// HSStockType:证券类别
//////////////////////////////////////////////////////////////////////////
///股票
#define HS_ST_Stock       "0"
///基金
#define HS_ST_Fund        "1"
///配股权证
#define HS_ST_MarthSecu   "3"
///普通申购
#define HS_ST_Apply       "4"
///记账国债
#define HS_ST_RegDebt     "9"
///基金申赎
#define HS_ST_FundAppRed  "A"
///LOF基金
#define HS_ST_LofFund     "L"
///ETF基金
#define HS_ST_EtfFund     "T"
///ETF申赎
#define HS_ST_EtfAppRed   "N"
///创业板
#define HS_ST_Gem         "c"
///科创板股票
#define HS_ST_Star        "e"
///科创板存托凭证
#define HS_ST_StarCdr     "g"
///注册制创业板
#define HS_ST_RegGem      "p"
///注册制创业板存托凭证
#define HS_ST_RegGemCdr   "q"
typedef char HSStockType[5];               

//////////////////////////////////////////////////////////////////////////
/// HSSubStockType:证券子类别
//////////////////////////////////////////////////////////////////////////
///公开优先股
#define HS_SST_PublicPreferStock       "01"
///非公开优先股
#define HS_SST_NonPublicPreferStock    "02"
///新股市值申购
#define HS_SST_MarketValueApply		   "41"
///债券信用申购
#define HS_SST_BondCreditApply		   "G1"
typedef char HSSubStockType[5];

//////////////////////////////////////////////////////////////////////////
/// HSStockCode:证券代码
//////////////////////////////////////////////////////////////////////////
typedef char HSStockCode[7];               

//////////////////////////////////////////////////////////////////////////
/// HSStockAccount:证券账户
//////////////////////////////////////////////////////////////////////////
typedef char HSStockAccount[21];           

//////////////////////////////////////////////////////////////////////////
/// HSStockName:证券名称
//////////////////////////////////////////////////////////////////////////
typedef char HSStockName[33];              

//////////////////////////////////////////////////////////////////////////
/// HSCompactID:合约编号
//////////////////////////////////////////////////////////////////////////
typedef char HSCompactID[33];              

//////////////////////////////////////////////////////////////////////////
/// HSCashGroupProp:头寸属性
//////////////////////////////////////////////////////////////////////////
///普通头寸
#define HS_CGP_Common       '1'
///专项头寸
#define HS_CGP_Special      '2'
typedef char HSCashGroupProp;

//////////////////////////////////////////////////////////////////////////
/// HSTradeStatus：成交状态
//////////////////////////////////////////////////////////////////////////
/// 成交
#define HS_TDS_Traded           '0'
/// 废单
#define HS_TDS_Abandoned        '2'
/// 确认
#define HS_TDS_Confirmed        '4'
typedef char HSTradeStatus;

//////////////////////////////////////////////////////////////////////////
/// HSEtfStatus：申购赎回状态
//////////////////////////////////////////////////////////////////////////
/// 全部禁止
#define HS_ES_BothForbid       '0'
/// 全部允许
#define HS_ES_BothAllow        '1'
/// 只能申购
#define HS_ES_OnlyPurchase     '2'
/// 只能赎回
#define HS_ES_OnlyRedeem       '3'
typedef char HSEtfStatus;

//////////////////////////////////////////////////////////////////////////
/// HSEtfType：Etf类别
//////////////////////////////////////////////////////////////////////////
/// 本市ETF
#define HS_ET_SingelExchEtf       '1'
/// 跨境ETF
#define HS_ET_CrossBorderEtf      '2'
/// 跨市ETF
#define HS_ET_CrossExchEtf        '3'
/// 货币ETF
#define HS_ET_CurrencyEtf         '4'
/// 实物债券ETF
#define HS_ET_PhysicalBondEtf     '5'
/// 商品ETF
#define HS_ET_CommodityEtf        '6'
/// 现金债券ETF
#define HS_ET_CashBondEtf         '7'
typedef char HSEtfType;

//////////////////////////////////////////////////////////////////////////
/// HSCollateralStatus：担保状态
//////////////////////////////////////////////////////////////////////////
/// 正常
#define HS_COS_Normal             '0'
/// 暂停
#define HS_COS_Pause              '1'
/// 作废
#define HS_COS_Cancel             '2'
typedef char HSCollateralStatus;

//////////////////////////////////////////////////////////////////////////
/// HSCreditRateType：利率类别
//////////////////////////////////////////////////////////////////////////
/// 普通融资利率
#define HS_CRT_MarginBuy	      '1'
/// 普通融券利率
#define HS_CRT_ShortSell          '2'
/// 普通融资罚息
#define HS_CRT_MarginBuyFine      '3'
/// 普通融券罚息
#define HS_CRT_ShortSellFine      '4'
/// 专项融资利率
#define HS_CRT_SpeMarginBuy	      '5'
/// 专项融券利率
#define HS_CRT_SpeShortSell       '6'
/// 专项融资罚息
#define HS_CRT_SpeMarginBuyFine   '7'
/// 专项融券罚息
#define HS_CRT_SpeShortSellFine   '8'
typedef char HSCreditRateType;

//////////////////////////////////////////////////////////////////////////
/// HSCompactType：合约类别
//////////////////////////////////////////////////////////////////////////
/// 融资合约
#define HS_COT_MarginBuy	      '0'
/// 融券合约
#define HS_COT_ShortSell          '1'
/// 其他负债
#define HS_COT_OtherDebit         '2'
typedef char HSCompactType;

//////////////////////////////////////////////////////////////////////////
/// HSCompactSource：合约来源
//////////////////////////////////////////////////////////////////////////
/// 普通头寸
#define HS_COS_Public	        '0'
/// 专项头寸
#define HS_COS_Special          '1'
typedef char HSCompactSource;

//////////////////////////////////////////////////////////////////////////
/// HSOrderPartition：报单分区
//////////////////////////////////////////////////////////////////////////
/// 普通竞价
#define HS_OP_Secu				1
/// 普通盘后
#define HS_OP_SecuAfof          2
/// 普通综合（证券创业板盘后固定价格业务的报单分区是该值）
#define HS_OP_SecuCbp           3
/// 港股通
#define HS_OP_SecuHk            4
/// 信用竞价
#define HS_OP_Crdt              5
/// 信用盘后
#define HS_OP_CrdtAfof          6
/// 信用综合（融资融券创业板盘后固定价格业务的报单分区是该值）
#define HS_OP_CrdtCbp           7
typedef int32 HSOrderPartition;

//////////////////////////////////////////////////////////////////////////
/// HSAssetProp：资产属性
//////////////////////////////////////////////////////////////////////////
typedef char HSAssetProp;

//////////////////////////////////////////////////////////////////////////
/// HSSessionNo：会话编号
//////////////////////////////////////////////////////////////////////////
typedef int32 HSSessionNo;

//////////////////////////////////////////////////////////////////////////
/// HSSysnodeID：系统节点编号
//////////////////////////////////////////////////////////////////////////
typedef int32 HSSysnodeID;

//////////////////////////////////////////////////////////////////////////
/// HSBatchNo：批次号
//////////////////////////////////////////////////////////////////////////
typedef int32 HSBatchNo;

//////////////////////////////////////////////////////////////////////////
/// HSOrderID：交易所申报编号 
//////////////////////////////////////////////////////////////////////////
typedef char HSOrderID[11];

//////////////////////////////////////////////////////////////////////////
/// HSCompactIDStr：合约编号串
//////////////////////////////////////////////////////////////////////////
typedef char HSCompactIDStr[2001];

//////////////////////////////////////////////////////////////////////////
/// HSDelistFlag：退市标志
//////////////////////////////////////////////////////////////////////////
/// 正常
#define HS_DF_Normal				'0'
/// 退市
#define HS_DF_Delist				'1'
typedef char HSDelistFlag;

//////////////////////////////////////////////////////////////////////////
/// HSChannelType：通道类型
//////////////////////////////////////////////////////////////////////////
/// 无关
#define HS_CNT_Normal			'0'
/// 场内申赎
#define HS_CNT_Of				'1'
/// 盘后申赎
#define HS_CNT_Afof				'2'
typedef char HSChannelType;

//////////////////////////////////////////////////////////////////////////
/// HSRealActionType：交易变动类型
//////////////////////////////////////////////////////////////////////////
/// 存管调整
#define HS_RA_TodayAdjustment	'0'
/// 交易冻结
#define HS_RA_Frozen			'1'
/// 回报解冻
#define HS_RA_Unfrozen			'2'
/// 上账
#define HS_RA_Deposit			'D'
/// 下账
#define HS_RA_Withdrawal		'W'
/// 锁定
#define HS_RA_Lock				'L'
/// 解锁
#define HS_RA_Unlock			'U'
typedef char HSRealActionType;

//////////////////////////////////////////////////////////////////////////
/// HSBusinessFlag：业务标志
//////////////////////////////////////////////////////////////////////////
typedef int32 HSBusinessFlag;
/// 客户资金调拨
#define HS_BF_FundTrans	        2034
/// 客户股份调拨
#define HS_BF_StockTrans	    3005
/// 客户ETF持仓调拨
#define HS_BF_EtfStockTrans		3006
/// 融资买入
#define HS_BF_FinBuy			31000
/// 卖券还款
#define HS_BF_SellRepay		    31011
/// 自动融资负债归还
#define HS_BF_AutoFinRepay		31014
/// 自动融资费用支付
#define HS_BF_PayOff_CashRepay	31016
/// 融资平仓
#define HS_BF_PayOff_FinRepay	31017
/// 融券卖出
#define HS_BF_SloSell			31100
/// 买券还券
#define HS_BF_BuyRepay			31101
/// 平仓买券还券
#define HS_BF_PayOff_BuyRepay	31102
/// 直接还券
#define HS_BF_HoldRepay			31103
/// 平仓现券还券
#define HS_BF_PayOff_HoldRepay	31104
/// 融券现金了结
#define HS_BF_SloCashRepay	    31107
/// 融资融券合展期状态变更
#define HS_BF_CompactApply	    31118

/////////////////////////////////////////////////////////////////////////
/// HSOrderAssStatus：报单辅助状态
/////////////////////////////////////////////////////////////////////////
/// 报单已录入
#define HS_OCR_OrderInserted 		 '0'
/// 报单已申报
#define HS_OCR_OrderReported 		 '1'
/// 报单已被交易所确认
#define HS_OCR_OrderConfirmed 		 '2'
/// 报单被交易所撮合成交
#define HS_OCR_OrderTraded			 '3'
/// 报单被交易所废单
#define HS_OCR_OrderAbandoned 		 '4'
/// 撤单已录入
#define HS_OCR_CancelInserted 		 '5' 
/// 撤单已申报
#define HS_OCR_CancelReported		 '6'
/// 撤单已被交易所确认
#define HS_OCR_CancelConfirmed		 '7'
/// 撤单被交易所废单
#define HS_OCR_CancelFailed 		 '8'

typedef char HSOrderAssStatus;

/////////////////////////////////////////////////////////////////////////
/// HSStockProperty：股份性质
/////////////////////////////////////////////////////////////////////////
/// 无限售流通股
#define HS_SP_Unlimited				"00"
/// IPO后限售股
#define HS_SP_Limited				"01"
typedef char HSStockProperty[3];

//////////////////////////////////////////////////////////////////////////
/// HSMsgBody：消息正文
//////////////////////////////////////////////////////////////////////////
typedef char HSMsgBody[4000];

//////////////////////////////////////////////////////////////////////////
/// HSMsgTitle：消息标题
//////////////////////////////////////////////////////////////////////////
typedef char HSMsgTitle[256];

//////////////////////////////////////////////////////////////////////////
/// HSMsgType：消息类型
//////////////////////////////////////////////////////////////////////////
typedef char HSMsgType;

//////////////////////////////////////////////////////////////////////////
/// HSStrTime：时间（字符串格式）
//////////////////////////////////////////////////////////////////////////
typedef char HSStrTime[32];

#endif
